package cn.iocoder.yudao.module.squaredancing.controller.admin.version.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 版本管理新增/修改 Request VO")
@Data
public class VersionSaveReqVO {

    @Schema(description = "版本ID（主键）", requiredMode = Schema.RequiredMode.REQUIRED, example = "29602")
    private Long id;

    @Schema(description = "版本编号（如：1.0.0）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "版本编号（如：1.0.0）不能为空")
    private String versionCode;

    @Schema(description = "版本名称（如：重大更新版）", example = "赵六")
    private String versionName;

    @Schema(description = "版本文件地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "版本文件地址不能为空")
    private String downloadUrl;

    @Schema(description = "是否强制更新", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否强制更新不能为空")
    private Boolean forceUpdate;

    @Schema(description = "版本更新说明")
    private String releaseNotes;

    @Schema(description = "发布时间")
    private LocalDateTime publishTime;

}